package com.haircut.sys.vo.role;

import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;
import java.util.List;

@Setter
@Getter
public class RoleReqVo {
    /**
     * id
     */
    @ApiModelProperty("角色id")
    private String id;
    /**
     * 角色名称
     */
    @ApiModelProperty("角色名称")
    @NotNull(message = "角色名称必须填写")
    @Length(min = 1,max = 20,message = "角色名称范围[1~20]个字符")
    private String roleName;
    /**
     * 角色描述
     */
    @ApiModelProperty("角色描述")
    @Length(min = 1,max = 100,message = "角色名称范围[1~100]个字符")
    private String roleDesc;

    /**
     * 数据范围（1：全部数据权限 2：仅本人数据权限 3：本部门数据权限 4：本部门及以下数据权限）
     */
    @ApiModelProperty("数据范围（1：全部数据权限 2：仅本人数据权限 3：本部门数据权限 4：本部门及以下数据权限）")
    @NotNull(message = "数据范围必须填写")
    @Range(min = 1,max = 4,message = "数据范围为[1~4]")
    private Integer dataScope;
    /**
     * 排序值
     */
    @ApiModelProperty("排序值")
    @Range(min = 0,max = 999,message = "排序值范围[0~999]")
    private Integer sortNum;
    /**
     * 菜单编号集合
     */
    @ApiModelProperty("菜单编号")
    @NotNull(message = "菜单必须填写")
    @Size(min = 1,message = "菜单必须选择一个")
    private List<String> menuIdList;
}
